package com.lcz.authority.common.core.page;


import lombok.Data;

import javax.validation.Valid;
import javax.validation.constraints.Min;
import java.util.List;

/**
 * @author leixiujie
 */ //@Schema(description="分页参数")
@Data
public class PageParam<T> {

    /**
     * 每页条数 - 不分页
     * 例如说，导出接口，可以设置 {@link #pageSize} 为 -1 不分页，查询所有数据。
     */
    public static final Integer PAGE_SIZE_NONE = -1;
    private static final Integer PAGE_NO = 1;
    private static final Integer PAGE_SIZE = 10;
    /**
     * 参数
     */
    @Valid
    private T param;

    /**
     * 默认页码
     */
    @Min(value = 1, message = "页码不能小于1")
    private Integer pageNum = 1;

    /**
     * 默认条数
     */
    @Min(value = -1, message = "每页展示条数不能小于1")
    private Integer pageSize = 10;

    /**
     * 是否开启分页
     */
    private Boolean enablePage;

    @Valid
    private List<SortParam> sortParams;


}
